// 元组转字符串

// 每次取出第一个，拼接成字符串
type TupleToString<T, K extends string = ''> = T extends [infer L, ...(infer R)]
  ? (L extends string ? TupleToString<R, `${K}${L}`> : never)
  : K;     

type A = TupleToString<['a', 'b', 'c']>; // 'abc'
type B = TupleToString<[]>; // ''
type C = TupleToString<['a']>; // 'a'

export { }